Skip to content

Conversation

@lightclient
Copy link

Was getting a lot of errors when trying to send a TypingMessage.

ERROR "could not create sync message from a direct message"

Seems like more ephemeral messages like the typing indicator shouldn't create sync transcripts. Not sure if more types should be in is_syncable, but what I can tell from create_multi_device_sent_transcript_content those are the only 3 ContentBodys that create a sync transcript and should be considered "syncable".

Typing indicators, receipts, and other ephemeral messages cannot produce
valid sync transcripts. Previously, send_message and send_message_to_group
would unconditionally enter the sync block when is_multi_device was true,
causing create_multi_device_sent_transcript_content to return None and
log an error for every non-DataMessage/EditMessage send.

Guard all three sync blocks with an is_syncable check so that ephemeral
message types skip the sync path entirely.
@rubdos
Copy link
Member

rubdos commented Feb 9, 2026

Dupe of #386 ? I'll let @direc85 fight that out with you :-)

Either way, I think is_syncable could take needs_sync and is_multi_device as arguments, to factor those away as well.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants